//yw 1初始化
//var curRowDataJson; //yw将当前行记录保存成json格式并赋给curRownDataJson全局变量，给子页adminMagSave.html使用
layui.use(['form','layer','laydate','table'],function(){
    var $ = layui.jquery;
    var form = layui.form;
    var table= layui.table;
    var layer = layui.layer;
    var laydate = layui.laydate;
    // var schoolData = null//yw 学校数据用于填充学校下拉框，防止反复从服务器下载学校数据
    //yw 2显示列表
    var tableIns = table.render({
        elem: '#list',
        //yw layui要和spring boot在一起用idea发布否则不能跨域访问url
        // url : '../../json/log.json', //模糊查询
        url : '/workOrder/queryWorkOrder', //模糊查询
        //按学校编号查询也行url : 'http://localhost/user/queryUserBySchoolId?schoolId=2003',
        // 通过json文件提供数据用于前端显示url : '../../json/userList.json',
        limit:15, //默认10
        limits:[15,10,20,30],
        page:true,
        width : 1100,
        height : 670,
        id : "listTable",
        method:'post', //yw 默认是get方式
        cols : [[
            {field: 'worderid', title: '工单编号', width:100,align:'center'}, //yw 'userid'区分大小写，自动生成的spring boot代码字段名一般是小写
            {field: 'schoolid', title: '报修学校', width:100,align:'center'},
            {field: 'applicant', title: '报修人', width:100,align:'center'},
            {field: 'usertel', title: '联系电话', width:130,align:'center'},
            {field: 'repairtime', title: '报修时间', width:180, align:'center'},
            {field: 'reproblem', title: '报修问题', width:180, align:'center'},
            {field: 'workstatus', title: '状态', width:75, align:'center',templet:function (d) {
                    if(d.workstatus == 0) return "未处理";
                    if(d.workstatus == 1) return "处理中";
                    if(d.workstatus == 2) return "已处理";
                }},
            // {field: 'userAddTime', title: '添加时间', width:150, align:'center', minWidth:110, templet:function(d){
            //     return d.userAddTime.substring(0,10);
            // }},//yw 显示YYYY-MM-DD没有时间
            {fixed:"right",title: '操作', toolbar:'#listRowBar',align:"center"}
        ]]//,
        ,request: {
            pageName: 'page' //页码的参数名称，默认：page
            ,limitName: 'pageSize' //每页数据量的参数名，默认：limit
        }
    });

    //禁止表单回车提交
    $('form').on('keydown', function (event) {
        if (event.keyCode == 13) return false;
    })

    $(".search_btn").on("click",function(){ //data
        //alert(data); //yw 这种调试没有用，只输出[object Object]这一抽想提示信息，可用console.log(data)在浏览器的控制台看
        tableIns.reload({
            page: {
                curr: 1 //重新从第 1 页开始
            },
            where:{
                name: $(".searchVal").val()  //搜索的关键字
            },
            url:'/workOrder/queryWorkOrderByName'
        });
        return false;
    });

    var flag = false;
    $("#add_btn").on("click",function () {
        // alert("xxx")
        mainIndex = layer.open({
            title : ['增加工单','font-size:18px;text-align:center;color:blue;'],
            type : 1,  //yw 使用这种方式从服务器下载更少数据12kB,处理速度更快47毫秒，提高了并发性
            content : $("#addDiv"),
            area:['500px','400px'],
            offset:'r',
            success:function(){ //yw layero是弹出层对象layer object
                if(!flag) {
                    // alert("xxx")
                    //请求所有学校的数据
                    $.ajax({
                        type:"POST",
                        url:'/school/getAllSchoolName',
                        success:function(res){
                            // console.log(res)
                            var html = '';
                            for(var i = 0;i < res.length;i++) {
                                html += '<option value="' + res[i].id + '">' + res[i].name + '</option>'
                                // alert(html)
                            }
                            flag = true;
                            //拼接学校
                            $("#school").after(html);
                            form.render();
                        }
                    });
                }
            }
        });
    });

    var schoolid = '';
    var buildid = '';
    var classroomid = '';

    form.on('select(mySelect1)', function (data) {
        // alert(data.value)
        //根据学校编号去查询改学校下的所有教学楼

        if(schoolid == '') {
            $.ajax({
                type:"POST",
                url:'/school/getAlltBuildNameID?schoolID=' + data.value,
                success:function(res){
                    // console.log(res)
                    var html = '';
                    for(var i = 0;i < res.length;i++) {
                        html += '<option value="' + res[i].tbuildid + '">' + res[i].tbuildname + '</option>'
                        // alert(html)
                    }
                    schoolid = data.value;
                    //拼接教学楼
                    $("#build").after(html);
                    form.render();
                }
            });
        }else {
            schoolid = data.value;
        }

    });

    form.on('select(mySelect2)', function (data) {

        if(buildid == '') {
            // alert(data.value)
            //根据学校编号去查询改学校下的所有教学楼
            $.ajax({
                type:"GET",
                url:'/classroom/queryClassRoomById?buildID=' + data.value,
                success:function(res){
                    // console.log(res)
                    var html = '';
                    for(var i = 0;i < res.length;i++) {
                        html += '<option value="' + res[i].classroomid + '">' + res[i].classroom + '</option>'
                        // alert(html)
                    }

                    buildid = data.value;
                    //拼接教学楼
                    $("#classroom").after(html);
                    form.render();
                }
            });
        }else {
            buildid = data.value;
        }

    });

    form.on('select(mySelect3)', function (data) {
        classroomid = data.value;
    });

    //监听保存事件
    $("#add5").on("click",function () {
        if(schoolid == '' || buildid == '' || classroomid == '') {
            layer.msg('请选择报修的区域！',{icon:7,time:800,shade:[0.6,'#000',true]});
            return false;
        }
        var desc = $("#add4").val();
        if(desc == null || desc.trim() == '') {
            layer.msg('请填写问题！',{icon:7,time:800,shade:[0.6,'#000',true]});
            return false;
        }

        // alert("xxx")
        //发送请求，修改订单
        $.ajax({
            type:"POST",
            url:'/workOrder/addWorkOrder2?schoolId=' + schoolid + '&buildId=' + buildid + '&classroomId=' + classroomid + '&desc=' + desc,
            success:function(res){
                if(res != 0){
                    tableIns.reload();
                    layer.msg('添加成功',{icon:7,time:800,shade:[0.6,'#000',true]});
                }else{
                    layer.msg('请先登陆！',{icon:7,time:800,shade:[0.6,'#000',true]});
                }
            }
        });
        layer.closeAll(); //yw 关闭删除提示对话框
    });

    //yw 监听行工具条的事件
    table.on("tool(list)", function(obj){
        var   data = obj.data; //获得当前行数据
        //yw 将当前行记录保存成json格式并赋给curRownDataJson全局变量，给子页adminMagSave.html使用
        //curRowDataJson = JSON.stringify(data);
        switch(obj.event){
            case 'see':
                openSeeLayer(data);
                break;
            case 'edit':
                openUpdateLayer(data);
                break;
            case 'del':
                deleteInfo(data);
                break;
        };
    });
    //删除工单
    function deleteInfo(data){
        layer.confirm('你确定要删除编号为['+data.worderid+']的工单吗?',{icon:3,title:'提示'},function(index){
            $.ajax({
                type:"POST",
                url:'/workOrder/delWorkOrder?wOrderID='+data.worderid,
                success:function(res){
                    if(res){
                        tableIns.reload();
                        layer.msg('删除成功',{icon:7,time:800,shade:[0.6,'#000',true]});
                    }else{
                        layer.msg('删除失败',{icon:7,time:800,shade:[0.6,'#000',true]});
                    }
                }
            });
            layer.close(index); //yw 关闭删除提示对话框
        });
    }

    //打开查看的窗口
    function openSeeLayer(data){
        mainIndex = layer.open({
            title : ['查看工单','font-size:18px;text-align:center;color:blue;'],
            type : 1,  //yw 使用这种方式从服务器下载更少数据12kB,处理速度更快47毫秒，提高了并发性
            content : $("#seeDiv"),
            // type : 2,  //yw 使用这种方式从服务器下载更多数据116kB，处理速度更慢264毫秒，减少了并发性
            // content : "adminMagSave.html",
            area:['500px','500px'],
            offset:'r',
            success:function(){ //yw layero是弹出层对象layer object
                // console.log(data);
                $("#see1").val(data.worderid);
                if(data.workstatus == 0)
                    $("#see2").val("未处理");
                if(data.workstatus == 1)
                    $("#see2").val("处理中");
                if(data.workstatus == 2)
                    $("#see2").val("已处理");
                $("#see3").val(data.schoolid);
                $("#see4").val(data.applicant);
                $("#see5").val(data.usertel);
                $("#see6").val(data.repairtime);
                $("#see7").val(data.reproblem);
                var temp = data.hresult;
                if(temp == null) temp = '尚未处理';
                $("#see8").val(temp);
/*                $("#see8").click(function () {
                    layer.closeAll('page'); //yw 关闭新增界面 type=1
                });*/
            }
        });
        //alert(data.userid); //有数据
        // formData = $('#dataFrm2').serialize() //yw 保存表单到fromData对象中
    }

    function openUpdateLayer(data){
        mainIndex = layer.open({
            title : ['工单[' + data.worderid + ']处理结果','font-size:18px;text-align:center;color:blue;'],
            type : 1,  //yw 使用这种方式从服务器下载更少数据12kB,处理速度更快47毫秒，提高了并发性
            content : $("#edit"),
            // type : 2,  //yw 使用这种方式从服务器下载更多数据116kB，处理速度更慢264毫秒，减少了并发性
            // content : "adminMagSave.html",
            area:['500px','250px'],
            offset:'r',
            success:function(){ //yw layero是弹出层对象layer object
                // alert(data.worderid)
                $("#edit1").attr("data",data.worderid);
            }
        });
        //alert(data.userid); //有数据
        // formData = $('#dataFrm2').serialize() //yw 保存表单到fromData对象中
    }

    form.on("submit(doSubmitSave)",function(){ //yw 有的是function(data)但这里的data没有用到
        // console.log(data)
        // alert("xxxx")
        // $("#doSubmitSave").click(function(data){ //yw 不要用这种底层方式处理事件会绕过表单验证
        //获取到文本域中的文字
        var d = $("#edit1").val();
        var data = $("#edit1").attr("data");
/*        if(d == null || d == "") {
            layer.msg('处理结果不能为空！',{icon:7,time:800,shade:[0.6,'#000',true]});
        }else {*/
            // console.log(data)
            // alert(data)
            $.ajax({
                type:"post",
                url:"/workOrder/saveWorkOrderResult",
                data:{wOrderID:data,hResult:d},
                success:function(res){  //yw res是后端的返回值,有的是int，有的是object;data是前端数据，data与res不能混淆
                    if(res){
                        tableIns.reload();
                        layer.msg('保存成功',{icon:7,time:800,shade:[0.6,'#000',true]});
                    }else{
                        layer.msg('保存失败',{icon:7,time:800,shade:[0.6,'#000',true]});
                    }
                    layer.closeAll('page'); //yw 关闭新增界面 type=1
                }
            });
        // }
    });
}); //yw 最后一行对应layui.use(['form','layer','laydate','table'],function(){
